package br.unicamp.ic.inf300.arena.persistencia.dao;

import br.unicamp.ic.inf300.arena.modelo.artistico.Espetaculo;
import br.unicamp.ic.inf300.arena.modelo.artistico.Filme;
import br.unicamp.ic.inf300.arena.modelo.artistico.PecaTeatral;
import br.unicamp.ic.inf300.framework.persistencia.IDAOBase;

public interface IEspetaculoDAO extends IDAOBase {
	public static final String TABELA_BD = "ARENAVENDAS.Espetaculo";

	//Espetaculo
	public static final String COLUMN_CODIGO_PK = "codespetaculo";
	public static final String COLUMN_TIPO = "tipo";
	public static final String COLUMN_TITULO = "titulo";
	public static final String COLUMN_SINOPSE = "sinopse";
	public static final String COLUMN_GENERO = "genero";
	public static final String COLUMN_CENSURA = "censura";
	public static final String COLUMN_ELENCO = "elenco";
	public static final String COLUMN_DURACAO = "duracao";
	//Filme
	public static final String COLUMN_PRODUTORA = "produtora";
	//Peca
	public static final String COLUMN_COMPANIA_TEATRO = "companiateatro";
	public static final String COLUMN_PATROCINADORES = "patrocinadores";

	/**
	 * 
	 * @param codigo
	 * @return Espetaculo
	 * @throws Exception
	 *
	 */
	public Espetaculo obterEspetaculo(int codigo, int tipo) throws Exception;

	/**
	 * 
	 * @param teatro
	 * @return boolean
     *
	 * @throws Exception
	 */
	public boolean inserir(PecaTeatral teatro) throws Exception;

	/**
	 * 
	 * @param filme
	 * @return boolean
	 * 
	 * @throws Exception
	 */
	public boolean inserir(Filme filme) throws Exception;
}